/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ws;

import bean.BuscaChaveEstrangeira;
import bean.BuscaChaveEstrangeiraVetor;
import bean.CotacaoPreco;
import bean.CotacaoPrecoVetor;
import bean.PedidoCompra;
import bean.PedidoCompraVetor;
import java.util.Vector;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.ejb.Stateless;
import persistencia.controller.CotacaoController;

/**
 *
 * @author André
 */
@WebService(wsdlLocation = "META-INF/wsdl/CotacaoMercadoriaWSService.wsdl")
@Stateless()
public class CotacaoMercadoriaWS {

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "createCotacaoSemPedido")
    public boolean createCotacaoSemPedido(@WebParam(name = "cotacao") CotacaoPreco cotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        return cc.createCotacaoSemPedido(cotacao);
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "createCotacaoComPedido")
    public PedidoCompraVetor createCotacaoComPedido(@WebParam(name = "cotacao") CotacaoPreco cotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<PedidoCompra> v = cc.createCotacaoComPedido(cotacao);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.createCotacaoComPedido retornou NULL");
            return null;
        }
        for (PedidoCompra i : v) {
            System.out.println("PedidoCompra[PK]: " + i.getTcodigo_pk());
        }

        PedidoCompraVetor vetor = new PedidoCompraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "updateCotacao")
    public boolean updateCotacao(@WebParam(name = "cotacao") CotacaoPreco cotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        return cc.updateCotacao(cotacao);
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "updateCotacaoComPedido")
    public PedidoCompraVetor updateCotacaoComPedido(@WebParam(name = "cotacao") CotacaoPreco cotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<PedidoCompra> v = cc.updateCotacaoComPedido(cotacao);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.updateCotacaoComPedido retornou NULL");
            return null;
        }
        for (PedidoCompra i : v) {
            System.out.println("PedidoCompra[PK]: " + i.getTcodigo_pk());
        }

        PedidoCompraVetor vetor = new PedidoCompraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "readCotacaoPorId")
    public CotacaoPreco readCotacaoPorId(@WebParam(name = "codigoCotacao") Integer codigoCotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        CotacaoPreco c = cc.readCotacaoPorId(codigoCotacao);

        if (c == null) {
            System.out.println("CotacaoMercadoriaWS.readCotacaoPorId retornou NULL");
            return null;
        }

        System.out.println("CotacaoMercadoria[PK]: " + c.getTcodigo_pk());

        return c;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "deleteCotacao")
    public boolean deleteCotacao(@WebParam(name = "codigoCotacao") Integer codigoCotacao) {

        CotacaoController cc = CotacaoController.getInstance();
        return cc.deleteCotacao(codigoCotacao);
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchUnidadePorId")
    public BuscaChaveEstrangeiraVetor searchUnidadePorId(@WebParam(name = "codigo") Integer codigo) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchUnidadePorId(codigo);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchUnidadePorId retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchUnidadePorNome")
    public BuscaChaveEstrangeiraVetor searchUnidadePorNome(@WebParam(name = "nomeFantasia") String nomeFantasia) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchUnidadePorNome(nomeFantasia);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchUnidadePorNome retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchCondicaoPorId")
    public BuscaChaveEstrangeiraVetor searchCondicaoPorId(@WebParam(name = "codigo") Integer codigo) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchCondicaoPorId(codigo);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchCondicaoPorId retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchCondicaoPorNome")
    public BuscaChaveEstrangeiraVetor searchCondicaoPorNome(@WebParam(name = "descricao") String descricao) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchCondicaoPorNome(descricao);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchCondicaoPorNome retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchMercadoriaPorId")
    public BuscaChaveEstrangeiraVetor searchMercadoriaPorId(@WebParam(name = "codigo") Integer codigo) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchMercadoriaPorId(codigo);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchMercadoriaPorId retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchMercadoriaPorNome")
    public BuscaChaveEstrangeiraVetor searchMercadoriaPorNome(@WebParam(name = "nome") String nome) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchMercadoriaPorNome(nome);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchMercadoriaPorNome retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchFornecedorPorId")
    public BuscaChaveEstrangeiraVetor searchFornecedorPorId(@WebParam(name = "codigo") Integer codigo) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchFornecedorPorId(codigo);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchFornecedorPorId retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "searchFornecedorPorNome")
    public BuscaChaveEstrangeiraVetor searchFornecedorPorNome(@WebParam(name = "nomeFantasia") String nomeFantasia) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<BuscaChaveEstrangeira> v = cc.searchFornecedorPorNome(nomeFantasia);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.searchFornecedorPorNome retornou NULL");
            return null;
        }
        for (BuscaChaveEstrangeira i : v) {
            System.out.println(i);
        }

        BuscaChaveEstrangeiraVetor vetor = new BuscaChaveEstrangeiraVetor();
        vetor.setLista(v);
        return vetor;
    }

    /**
     * Operação de serviço web
     */
    @WebMethod(operationName = "readCotacao")
    public CotacaoPrecoVetor readCotacao(@WebParam(name = "data")
    String data, @WebParam(name = "nomeFornecedor")
    String nomeFornecedor) {

        CotacaoController cc = CotacaoController.getInstance();
        Vector<CotacaoPreco> v = cc.readCotacao(data, nomeFornecedor);

        if (v == null) {
            System.out.println("CotacaoMercadoriaWS.readCotacao retornou NULL");
            return null;
        }
        for (CotacaoPreco i : v) {
            System.out.println("CotacaoPreco[PK]: " + i.getTcodigo_pk());
        }

        CotacaoPrecoVetor vetor = new CotacaoPrecoVetor();
        vetor.setLista(v);
        return vetor;
    }
}
